home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / NDK / NDK_3.5 / Include / include_h / pragmas / lowlevel_pragmas.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-10-20  |  5.1 KB  |  164 lines

  1. #ifndef PRAGMAS_LOWLEVEL_PRAGMAS_H
  2. #define PRAGMAS_LOWLEVEL_PRAGMAS_H
  3.  
  4. /*
  5. **    $VER: lowlevel_pragmas.h 40.1 (17.5.1996)
  6. **    Includes Release 44.1
  7. **
  8. **    Direct ROM interface (pragma) definitions.
  9. **
  10. **    Copyright © 1999 Amiga, Inc.
  11. **        All Rights Reserved
  12. */
  13.  
  14. #if defined(LATTICE) || defined(__SASC) || defined(_DCC)
  15. #ifndef __CLIB_PRAGMA_LIBCALL
  16. #define __CLIB_PRAGMA_LIBCALL
  17. #endif /* __CLIB_PRAGMA_LIBCALL */
  18. #else /* __MAXON__, __STORM__ or AZTEC_C */
  19. #ifndef __CLIB_PRAGMA_AMICALL
  20. #define __CLIB_PRAGMA_AMICALL
  21. #endif /* __CLIB_PRAGMA_AMICALL */
  22. #endif /* */
  23.  
  24. #if defined(__SASC) || defined(__STORM__)
  25. #ifndef __CLIB_PRAGMA_TAGCALL
  26. #define __CLIB_PRAGMA_TAGCALL
  27. #endif /* __CLIB_PRAGMA_TAGCALL */
  28. #endif /* __MAXON__, __STORM__ or AZTEC_C */
  29.  
  30. #ifndef CLIB_LOWLEVEL_PROTOS_H
  31. #include <clib/lowlevel_protos.h>
  32. #endif /* CLIB_LOWLEVEL_PROTOS_H */
  33.  
  34. /*--- functions in V40 or higher (Release 3.1) ---*/
  35.  
  36. /* CONTROLLER HANDLING */
  37.  
  38. #ifdef __CLIB_PRAGMA_LIBCALL
  39.  #pragma libcall LowLevelBase ReadJoyPort 1e 001
  40. #endif /* __CLIB_PRAGMA_LIBCALL */
  41. #ifdef __CLIB_PRAGMA_AMICALL
  42.  #pragma amicall(LowLevelBase, 0x1e, ReadJoyPort(d0))
  43. #endif /* __CLIB_PRAGMA_AMICALL */
  44.  
  45. /* LANGUAGE HANDLING */
  46.  
  47. #ifdef __CLIB_PRAGMA_LIBCALL
  48.  #pragma libcall LowLevelBase GetLanguageSelection 24 00
  49. #endif /* __CLIB_PRAGMA_LIBCALL */
  50. #ifdef __CLIB_PRAGMA_AMICALL
  51.  #pragma amicall(LowLevelBase, 0x24, GetLanguageSelection())
  52. #endif /* __CLIB_PRAGMA_AMICALL */
  53.  
  54. /* KEYBOARD HANDLING */
  55.  
  56. #ifdef __CLIB_PRAGMA_LIBCALL
  57.  #pragma libcall LowLevelBase GetKey 30 00
  58. #endif /* __CLIB_PRAGMA_LIBCALL */
  59. #ifdef __CLIB_PRAGMA_AMICALL
  60.  #pragma amicall(LowLevelBase, 0x30, GetKey())
  61. #endif /* __CLIB_PRAGMA_AMICALL */
  62. #ifdef __CLIB_PRAGMA_LIBCALL
  63.  #pragma libcall LowLevelBase QueryKeys 36 1802
  64. #endif /* __CLIB_PRAGMA_LIBCALL */
  65. #ifdef __CLIB_PRAGMA_AMICALL
  66.  #pragma amicall(LowLevelBase, 0x36, QueryKeys(a0,d1))
  67. #endif /* __CLIB_PRAGMA_AMICALL */
  68. #ifdef __CLIB_PRAGMA_LIBCALL
  69.  #pragma libcall LowLevelBase AddKBInt 3c 9802
  70. #endif /* __CLIB_PRAGMA_LIBCALL */
  71. #ifdef __CLIB_PRAGMA_AMICALL
  72.  #pragma amicall(LowLevelBase, 0x3c, AddKBInt(a0,a1))
  73. #endif /* __CLIB_PRAGMA_AMICALL */
  74. #ifdef __CLIB_PRAGMA_LIBCALL
  75.  #pragma libcall LowLevelBase RemKBInt 42 901
  76. #endif /* __CLIB_PRAGMA_LIBCALL */
  77. #ifdef __CLIB_PRAGMA_AMICALL
  78.  #pragma amicall(LowLevelBase, 0x42, RemKBInt(a1))
  79. #endif /* __CLIB_PRAGMA_AMICALL */
  80.  
  81. /* SYSTEM HANDLING */
  82.  
  83. #ifdef __CLIB_PRAGMA_LIBCALL
  84.  #pragma libcall LowLevelBase SystemControlA 48 901
  85. #endif /* __CLIB_PRAGMA_LIBCALL */
  86. #ifdef __CLIB_PRAGMA_AMICALL
  87.  #pragma amicall(LowLevelBase, 0x48, SystemControlA(a1))
  88. #endif /* __CLIB_PRAGMA_AMICALL */
  89. #ifdef __CLIB_PRAGMA_TAGCALL
  90.  #ifdef __CLIB_PRAGMA_LIBCALL
  91.   #pragma tagcall LowLevelBase SystemControl 48 901
  92.  #endif /* __CLIB_PRAGMA_LIBCALL */
  93.  #ifdef __CLIB_PRAGMA_AMICALL
  94.   #pragma tagcall(LowLevelBase, 0x48, SystemControl(a1))
  95.  #endif /* __CLIB_PRAGMA_AMICALL */
  96. #endif /* __CLIB_PRAGMA_TAGCALL */
  97.  
  98. /* TIMER HANDLING */
  99.  
  100. #ifdef __CLIB_PRAGMA_LIBCALL
  101.  #pragma libcall LowLevelBase AddTimerInt 4e 9802
  102. #endif /* __CLIB_PRAGMA_LIBCALL */
  103. #ifdef __CLIB_PRAGMA_AMICALL
  104.  #pragma amicall(LowLevelBase, 0x4e, AddTimerInt(a0,a1))
  105. #endif /* __CLIB_PRAGMA_AMICALL */
  106. #ifdef __CLIB_PRAGMA_LIBCALL
  107.  #pragma libcall LowLevelBase RemTimerInt 54 901
  108. #endif /* __CLIB_PRAGMA_LIBCALL */
  109. #ifdef __CLIB_PRAGMA_AMICALL
  110.  #pragma amicall(LowLevelBase, 0x54, RemTimerInt(a1))
  111. #endif /* __CLIB_PRAGMA_AMICALL */
  112. #ifdef __CLIB_PRAGMA_LIBCALL
  113.  #pragma libcall LowLevelBase StopTimerInt 5a 901
  114. #endif /* __CLIB_PRAGMA_LIBCALL */
  115. #ifdef __CLIB_PRAGMA_AMICALL
  116.  #pragma amicall(LowLevelBase, 0x5a, StopTimerInt(a1))
  117. #endif /* __CLIB_PRAGMA_AMICALL */
  118. #ifdef __CLIB_PRAGMA_LIBCALL
  119.  #pragma libcall LowLevelBase StartTimerInt 60 10903
  120. #endif /* __CLIB_PRAGMA_LIBCALL */
  121. #ifdef __CLIB_PRAGMA_AMICALL
  122.  #pragma amicall(LowLevelBase, 0x60, StartTimerInt(a1,d0,d1))
  123. #endif /* __CLIB_PRAGMA_AMICALL */
  124. #ifdef __CLIB_PRAGMA_LIBCALL
  125.  #pragma libcall LowLevelBase ElapsedTime 66 801
  126. #endif /* __CLIB_PRAGMA_LIBCALL */
  127. #ifdef __CLIB_PRAGMA_AMICALL
  128.  #pragma amicall(LowLevelBase, 0x66, ElapsedTime(a0))
  129. #endif /* __CLIB_PRAGMA_AMICALL */
  130.  
  131. /* VBLANK HANDLING */
  132.  
  133. #ifdef __CLIB_PRAGMA_LIBCALL
  134.  #pragma libcall LowLevelBase AddVBlankInt 6c 9802
  135. #endif /* __CLIB_PRAGMA_LIBCALL */
  136. #ifdef __CLIB_PRAGMA_AMICALL
  137.  #pragma amicall(LowLevelBase, 0x6c, AddVBlankInt(a0,a1))
  138. #endif /* __CLIB_PRAGMA_AMICALL */
  139. #ifdef __CLIB_PRAGMA_LIBCALL
  140.  #pragma libcall LowLevelBase RemVBlankInt 72 901
  141. #endif /* __CLIB_PRAGMA_LIBCALL */
  142. #ifdef __CLIB_PRAGMA_AMICALL
  143.  #pragma amicall(LowLevelBase, 0x72, RemVBlankInt(a1))
  144. #endif /* __CLIB_PRAGMA_AMICALL */
  145.  
  146. /* MORE CONTROLLER HANDLING */
  147.  
  148. #ifdef __CLIB_PRAGMA_LIBCALL
  149.  #pragma libcall LowLevelBase SetJoyPortAttrsA 84 9002
  150. #endif /* __CLIB_PRAGMA_LIBCALL */
  151. #ifdef __CLIB_PRAGMA_AMICALL
  152.  #pragma amicall(LowLevelBase, 0x84, SetJoyPortAttrsA(d0,a1))
  153. #endif /* __CLIB_PRAGMA_AMICALL */
  154. #ifdef __CLIB_PRAGMA_TAGCALL
  155.  #ifdef __CLIB_PRAGMA_LIBCALL
  156.   #pragma tagcall LowLevelBase SetJoyPortAttrs 84 9002
  157.  #endif /* __CLIB_PRAGMA_LIBCALL */
  158.  #ifdef __CLIB_PRAGMA_AMICALL
  159.   #pragma tagcall(LowLevelBase, 0x84, SetJoyPortAttrs(d0,a1))
  160.  #endif /* __CLIB_PRAGMA_AMICALL */
  161. #endif /* __CLIB_PRAGMA_TAGCALL */
  162.  
  163. #endif /* PRAGMAS_LOWLEVEL_PRAGMAS_H */
  164.